package com.zp.business.entity.clinicOrder.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.zp.common.core.entity.BaseEntity;
import com.zp.common.excel.annotation.ExcelDictFormat;
import com.zp.common.excel.convert.ExcelDictConvert;
import lombok.Data;

import java.math.BigDecimal;


/**
 * 处置治疗视图对象
 *
 * @author zhang peng
 * @ date 2024-01-05
 */
@Data
@ExcelIgnoreUnannotated
public class OutpTreatRecVo extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @ExcelProperty(value = "主键")
    private String id;

    /**
     * 就诊记录ID
     */
    @ExcelProperty(value = "就诊记录ID")
    private String clinicId;

    /**
     * 门诊收费id
     */
    @ExcelProperty(value = "门诊收费id")
    private String clinicOrdersId;

    /**
     * 病人信息Id
     */
    @ExcelProperty(value = "病人信息Id")
    private String patientId;

    /**
     * 住院/门诊 字典：clinic_or_visit
     */
    @ExcelProperty(value = "住院/门诊 字典：clinic_or_visit", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "clinic_or_visit")
    private String inoroutFlag;

    /**
     * 确认标志
     */
    @ExcelProperty(value = "确认标志", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "sys_yes_no")
    private String confirmFlag;

    /**
     * 收费标志
     */
    @ExcelProperty(value = "收费标志", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "charge_flag_dict")
    private String chargeFlag;

    /**
     * 库存ID
     */
    @ExcelProperty(value = "库存ID")
    private String stockId;

    /**
     * 组号
     */
    @ExcelProperty(value = "组号")
    private String groupNo;

    /**
     * 处置治疗单号
     */
    @ExcelProperty(value = "处置治疗单号")
    private String applyNo;

    /**
     * 执行科室
     */
    @ExcelProperty(value = "执行科室")
    private String implementDept;

    /**
     * 开单科室
     */
    @ExcelProperty(value = "开单科室")
    private String applyUser;

    /**
     * 频次
     */
    @ExcelProperty(value = "频次")
    private String performFreq;

    /**
     * 项目名称
     */
    @ExcelProperty(value = "项目名称")
    private String itemName;

    /**
     * 数量
     */
    @ExcelProperty(value = "数量")
    private Integer num;

    /**
     * 总价格
     */
    @ExcelProperty(value = "总价格")
    private BigDecimal sumPrice;

    /**
     * 机构ID
     */
    @ExcelProperty(value = "机构ID")
    private String orgId;

    /**
     * 备注信息
     */
    @ExcelProperty(value = "备注信息")
    private String remarks;

    /**
     * 是否申请
     */
    @ExcelProperty(value = "是否申请", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "sys_yes_no")
    private String isApply;

    /**
     * 是否体检
     */
    @ExcelProperty(value = "是否体检", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "sys_yes_no")
    private String isPhy;

    /**
     * 诊疗项目ID
     */
    @ExcelProperty(value = "诊疗项目ID")
    private String clinicItemId;

    /**
     * 项目类别
     */
    @ExcelProperty(value = "项目类别", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "bill_item_class_dict")
    private String itemClass;

    /**
     * 扩展（单位）用于材料
     */
    @ExcelProperty(value = "扩展", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "单=位")
    private String unitsStr;

    /**
     * 扩展（厂商）用于材料
     */
    @ExcelProperty(value = "扩展", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "厂=商")
    private String supplierName;

    /**
     * 扩展（规格）用于材料
     */
    @ExcelProperty(value = "扩展", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "规=格")
    private String packageSpec;

    /**
     * 优惠系数
     */
    @ExcelProperty(value = "优惠系数")
    private BigDecimal coefficient;

    /**
     * 原价
     */
    @ExcelProperty(value = "原价")
    private BigDecimal price;

    /**
     * 进价
     */
    @ExcelProperty(value = "进价")
    private BigDecimal tradePrice;

    /**
     * 网络价格
     */
    @ExcelProperty(value = "网络价格")
    private BigDecimal networkPrice;

    /**
     * 是否门诊录费
     */
    @ExcelProperty(value = "是否门诊录费", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "sys_yes_no")
    private String isClinicFee;

    /**
     * 是否暂存Y是,N否
     */
    @ExcelProperty(value = "是否暂存Y是,N否", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "sys_yes_no")
    private String mark;

    /**
     * 天数
     */
    @ExcelProperty(value = "天数")
    private Integer abidance;

    /**
     * 开单科室
     */
    private String applyDept;

    /**
     * 开单科室名称
     */
    private String applyDeptName;

    /**
     * 执行科室名称
     */
    private String implementDeptName;

    /**
     * 执行频次名称
     */
    private String performFreqName;


    /**
     * 处方、检查、检验、治疗项目明细表id
     */
    private String applyItemId;

    private String itemCode;
}
